#e
#Title[IuWFNgł̃XRA\]
#Text[GtFNgIuWFNgł̃XRA\
オ閈ɁA\IuWFNgϓ]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{

	let Current = GetCurrentScriptDirectory;
	let ASCII = Current ~ "ascii.png";

	@Initialize{
		SetLife(100);
		SetX(-1000);
		SetY(-1000);
		LoadGraphic(ASCII);
		TMain;
	}

	@MainLoop{
		if(GetKeyState(VK_USER) == KEY_PUSH){ VanishEnemy(); }			//@[U[`L[œG̏ŁiXNvg̏Ij
		AddScore(1);								//@XRẢZ
		yield;									//@^XNp
	}

	@DrawLoop{
	}

	@Finalize{
		DeleteGraphic(ASCII);
	}

	task TMain{
		yield;
		Draw_Score_Obj_Effect;
	}


	//@GtFNgIuWFNgł̃XRA\^XN@ƕ\錅ω
	task Draw_Score_Obj_Effect{
		let Score_Value;	//@XRA̕\ɎgZop
		let Score_Obj = [];	//@XRA̕\ɎgIuWFNgi[p
		let Score_Length = 1;	//@XRǍ@Œጅ1

		//@XRA\pIuWFNg̑O@ō10̊i[ꏊ쐬
		ascent(i in 0..10){
			Score_Obj = Score_Obj ~ [NULL];
		}

		//@[vĕ|ˁH
		//@GtFNgIuWFNgID[vɂG[ׂɁA1[vɃGtFNgIuWFNg̍쐬폜sȂĂ܂
		loop{
			//@݂̃XRǍ擾@10nȏŔrAn+Œጅ1@ō10
			ascent(n in 0..10){
				if(GetScore >= 10 ^ n){
					Score_Length = n + 1;
				}
			}

			//@GtFNgIuWFNgŃXRA\@Ln+1\
			//@1̈ʁ10̈ʁ100̈ʁcƍō10܂Ł@AÃ݂XRǍꍇi0̏ꍇj͕\i쐬jȂ
			ascent(S_Length in 0..Score_Length){
				Score_Value = truncate(GetScore / (10 ^ S_Length)) % 10;		//@݂̌̐lZo
				Score_Obj[S_Length] = Obj_Create(OBJ_EFFECT);				//@GtFNgIuWFNg̍쐬
				ObjEffect_SetTexture(Score_Obj[S_Length], ASCII);			//@GtFNgIuWFNgւ̃eNX`\t
				ObjEffect_SetPrimitiveType(Score_Obj[S_Length], PRIMITIVE_TRIANGLEFAN);	//@GtFNgIuWFNg̃v~eBu^Cvݒ
				ObjEffect_CreateVertex(Score_Obj[S_Length], 4);				//@GtFNgIuWFNg̒_ݒ
				ObjEffect_SetLayer(Score_Obj[S_Length], 8);				//@GtFNgIuWFNg̕`惌C[̐ݒiŏʁj

				//@GtFNgIuWFNg̒_XYW̐ݒ@IuWFNg̒Su0C0vɂȂ悤ɐݒ
				ObjEffect_SetVertexXY(Score_Obj[S_Length], 0, -8, -9);
				ObjEffect_SetVertexXY(Score_Obj[S_Length], 1, 8, -9);
				ObjEffect_SetVertexXY(Score_Obj[S_Length], 2, 8, 9);
				ObjEffect_SetVertexXY(Score_Obj[S_Length], 3, -8, 9);

				//@GtFNgIuWFNgɓ\teNX`ʒu̐ݒ@݂̐lQƂɂĉEɂ
				ObjEffect_SetVertexUV(Score_Obj[S_Length], 0, 0 + 16 * Score_Value, 215);
				ObjEffect_SetVertexUV(Score_Obj[S_Length], 1, 16 + 16 * Score_Value, 215);
				ObjEffect_SetVertexUV(Score_Obj[S_Length], 2, 16 + 16 * Score_Value, 233);
				ObjEffect_SetVertexUV(Score_Obj[S_Length], 3, 0 + 16 * Score_Value, 233);

				//@eNX`̕`ʒu̐ݒ@閈Ɋʒu12pxɂ
				Obj_SetPosition(Score_Obj[S_Length], 620 - 12 * S_Length, 50);

			}

			yield;		//@1t[ҋ@

			//@GtFNgIuWFNg̍폜
			ascent(S_Length in 0..Score_Length){
				Obj_Delete(Score_Obj[S_Length]);
			}

		}

	}

}